package com.taotao.sso.service.impl;

import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;

import com.taotao.po.TbUser;
import com.taotao.pojo.TaotaoResult;
import com.taotao.sso.component.impl.JedisSingleImpl;
import com.taotao.sso.service.TokenService;
import com.taotao.util.JsonUtils;
/**
 * 	查询用户token 信息 也就是cookic
 *  @author  DaiRui  
 *  @ClassName  : TokenServiceImpl
 *  @Description:
 *  @date  2017年4月16日 下午8:08:41 
 *  @Version  1.0
 */
@Service
public class TokenServiceImpl implements TokenService{

	@Autowired
	private JedisSingleImpl jedisClient;
	
	@Value("${SESSION_EXPIRE}")
	private Integer SESSION_EXPIRE;
	
	@Value("${REDIS_SESSION_KEY}")
	private String REDIS_SESSION_KEY;
	
	@Override
	public TaotaoResult getUserToken(String token) {
		String key=REDIS_SESSION_KEY+":"+token;
		// 向redis中查找token信息
		String json = jedisClient.get(key);
		// 如果已经过期
		if (StringUtils.isBlank(json)) {
			return TaotaoResult.build(400, "用户sessio过期");
		}
		// 转换对象
		TbUser user = JsonUtils.jsonToPojo(json, TbUser.class);
		// 更新redis中的过期时间
		jedisClient.expire(key, SESSION_EXPIRE);
		return TaotaoResult.ok(user);
		
	}

}
